/**
 * @Author: liutao
 * @Date:   2017-04-20T16:29:39+08:00
 * @Email:  947809647@qq.com
 * @Last modified by:   liutao
 * @Last modified time: 2017-04-25T10:27:35+08:00
 */

import Vue from 'vue'
import useResource from './resource'
import useVuex from './vuex'
import * as filters from './new-filters.js'
import filterAdTypeCase from './filter/ad-type-case'
import filterAdTypeTargetCase from './filter/ad-type-target-case'
import filterMoneyEventType from './filter/money-event-type'
import filterInvitationStatus from './filter/invitation-status'
import filterCustomType from './filter/custom-type'
import filterPrizeCodeUsed from './filter/prize-code-used'
import filterMiniPrizeStatus from './filter/mini-prize-status'
import filterMsgTypeCase from './filter/msg-type-case'
import filterBrokerStatus from './filter/broker-status'
import filterBrokerIsStaff from './filter/broker-isstaff'
import filterPlatform from './filter/platform'
import filterRetCode from './filter/dataflow-retCode'
import filterdataStatus from './filter/dataflow-status'
import filterPromoterAuditStatus from './filter/promoter-audit-status'
import filterSecurityName from './filter/security-name'
import filterOperationStatus from './filter/promoter-operation-status'
import filterCreatorType from './filter/filter-creator-type'
import filterSecurityType from './filter/get-security-type'
import filtertoDate from './filter/to-date'
import filterInviteActivityStatus from './filter/invite-activity-status'
import filterAIQuestionType from './filter/ai-question-type'
import filterAIAnswerType from './filter/ai-answer-type'
import filterAIDisplayType from './filter/ai-display-type'
import filterTimeToString from './filter/time-to-string'
import filterInviteStatus from './filter/invite-status'
import filterProductType from './filter/product-type'

useResource(Vue)
useVuex(Vue)

Object.keys(filters).forEach((key) => {
  Vue.filter(key, filters[key])
})

filterAdTypeCase(Vue)
filterAdTypeTargetCase(Vue)
filterMoneyEventType(Vue)
filterInvitationStatus(Vue)
filterCustomType(Vue)
filterPrizeCodeUsed(Vue)
filterMiniPrizeStatus(Vue)
filterMsgTypeCase(Vue)
filterBrokerStatus(Vue)
filterBrokerIsStaff(Vue)
filterPlatform(Vue)
filterRetCode(Vue)
filterdataStatus(Vue)
filterPromoterAuditStatus(Vue)
filterSecurityName(Vue)
filterOperationStatus(Vue)
filterCreatorType(Vue)
filterSecurityType(Vue)
filtertoDate(Vue)
filterInviteActivityStatus(Vue)
filterAIQuestionType(Vue)
filterAIAnswerType(Vue)
filterAIDisplayType(Vue)
filterTimeToString(Vue)
filterInviteStatus(Vue)
filterProductType(Vue)

export default Vue
